// src/api/jobPost.ts
// 说明：若你的项目使用的是 '@/utils/request'，把 import 改一下即可
import request from '@/config/axios'

// export interface JobPostVO {
//   id?: number
//   companyId?: number
//   title: string
//   category?: string
//   location?: string
//   cityCode?: string
//   salaryMin?: number | null
//   salaryMax?: number | null
//   salaryUnit?: number | null // 1=元/月 2=元/年 3=元/天
//   eduReq?: string
//   expReq?: string
//   description: string
//   tags?: string[] | string // 前端数组，后端可接受 JSON 字符串
//   aiTitleNorm?: string
//   aiCityNorm?: string
//   aiTags?: string[] | string
//   sourceType?: number      // 后端强制=1（企业直招）
//   sourceUrl?: string
//   publishTime?: string     // 'YYYY-MM-DD HH:mm:ss'
//   expireTime?: string
//   status?: number           // 1=上线 0=下线 2=草稿
//   tenantId?: number
//   remark?: string
//   creator?: string
//   updater?: string
//   createTime?: string
//   updateTime?: string
//   deleted?: number
// }

export interface JobPostVO {
  id?: number
  companyId?: number
  title: string
  category?: string
  location?: string
  cityCode?: string
  salaryMin?: number | null
  salaryMax?: number | null
  salaryUnit?: number | null // 1=元/月 2=元/年 3=元/天
  eduReq?: string
  expReq?: string
  description: string
  tags?: string[] | string // 前端数组，后端可接受 JSON 字符串
  aiTitleNorm?: string
  aiCityNorm?: string
  aiTags?: string[] | string
  sourceType?: number      // 后端强制=1（企业直招）
  sourceUrl?: string
  publishTime?: string     // 'YYYY-MM-DD HH:mm:ss'
  expireTime?: string
  status?: number           // 1=上线 0=下线 2=草稿
  tenantId?: number
  remark?: string
  creator?: string
  updater?: string
  createTime?: string
  updateTime?: string
  deleted?: number
}

export interface PageQuery {
  pageNo?: number
  pageSize?: number
  title?: string
  cityCode?: string
  status?: number | '' // ''=全部
}

const prefix = '/business/job-post'

// 分页
export function pageJobPosts(params: PageQuery) {
  return request.get({ url: `/business/job-post/page`, params })
}

// 详情
export function getJobPost(id: number) {
  return request.get({ url: `/business/job-post/get?id=` + id })
}

// 新增
export function createJobPost(data: JobPostVO) {
  return request.post({ url: `/business/job-post/create`, data })
}

// 修改
export function updateJobPost(id: number, data: JobPostVO) {
  return request.put({ url: `/business/job-post/update`,id, data })
}

// 删除
export function deleteJobPost(id: number) {
  return request.delete({ url: `/business/job-post/delete?id=` + id })
}

// 上下线（或设草稿）
export function changeJobPostStatus(id: number, status: number) {
  return request.put({ url: `/business/job-post/${id}/status`, data: { status } })
}

// 更新状态接口（用于下线操作）
export function updateJobPostState(data: JobPostVO) {
  return request.put({ url: `/business/job-post/updateStatus`, data })
}